package com.ruoyi.system.outto.goods.impl;

import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.GlobalException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ImgUntil;
import com.ruoyi.common.utils.ImgUntilYS;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.V2.gameAttr.mapper.GameAttrTemplateMapper;
import com.ruoyi.system.V2.gameAttr.mapper.GameAttributeMapper;
import com.ruoyi.system.V2.goodInfo.mapper.GoodsInfoImgMapper;
import com.ruoyi.system.V2.inter.mapper.ArtRecMapper;
import com.ruoyi.system.interAttr.domain.InterAttr;
import com.ruoyi.system.interAttr.mapper.InterAttrMapper;
import com.ruoyi.system.model.domain.*;
import com.ruoyi.system.model.dto.GoodsInfoAndAttrValueDto;
import com.ruoyi.system.outto.core.MapUntils;
import com.ruoyi.system.outto.dto.yx7881.utils.HttpUtil;
import com.ruoyi.system.outto.goods.IMTaoShouYouAPI;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.ConvertUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.net.HttpCookie;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.Collectors;

@Slf4j
@Service
public class MTaoShouYouApiImpl implements IMTaoShouYouAPI {
    @Resource
    private GoodsInfoImgMapper goodsInfoImgMapper;
    @Resource
    private GameAttributeMapper gameAttributeMapper;
    @Resource
    InterAttrMapper interAttrMapper;
    @Resource
    private GameAttrTemplateMapper gameAttrTemplateMapper;
    @Resource
    private ArtRecMapper artRecMapper;

    public static void main(String[] args) {
//        SalePartner salePartner = new SalePartner();
//        salePartner.setSaleKey("18093522409");
//        salePartner.setOther("Aa120120..");
//        String token = login(salePartner);
//        add(token);
//        upImg(token);
        //获取属性用到
//        getAttr(token);
//        String games = getGames();
//        System.out.println(MapUntils.unicodeToString(games));
//        String s = upImg(LCConstant.defaultImg);
//        String s = offGoods("61483877");
//        System.out.println(s);
        String string = "13594_163皮肤-1神话-18传说-61史诗-113英雄- 战斗学院EZ白金学长 战斗学院伊泽瑞尔 神王德莱厄斯 神王盖伦 炼狱魔犬内瑟斯 暗星尊烬 地狱之门卫视加里奥 福牛守护者厄运小姐 神龙尊者御风啸龙易 西部天使赛娜 天煞劫 神拳 星之守护者 落 地狱之门卫士 灌篮高手 诺手 光电璀璨 泽丽 黑夜使者 亚索 源计划：净化 光明哨兵 薇恩 苍穹之光维鲁斯 KDA阿狸 KDA伊芙琳 暗星韦鲁斯 霸天巨兽墨菲特 霸天龙神奥瑞利安索尔 苍穹之光布兰德 晨星之翎洛 地下拳王李青 福牛阿利斯塔 福牛安妮 福牛德莱厄斯 福牛菲奥娜 福牛嘉文四世 钢铁军团盖伦 柯基库奇 猎龙勇士赵信 灵魂收割者德莱文 暮星之羽霞 绒毛菲兹 神龙尊者卡莎 铁血女忍阿卡丽 未来战士锤石 无限烈焰戴安娜 西部魔影德莱厄斯 星之守护者璐璐 腥红之月黛安娜 腥红之月崔斯特 泳池派对菲奥娜 源代码索拉卡 源计划：裁决蔚 源计划：山蕾欧娜 战场之王布里茨 战斗教授格雷福斯 s1光耀之刃 s2光耀之芒 s3光耀之灵 s4光耀之心 s5绯金魅影 s6绯金丽刃 s7绯金战斧 s8绯金鮫灵 s9王牌舰长 游侠法师 战争血统 至高之拳 制胜金球 王牌上将皇子 王牌勇将 超武乾坤：暗影 龙冕先锋赵信 冰川勇者 光耀之灵 熊猫 迅箭 黯黑魔龙龙女 暗黑武士狮子狗 暴风女神 冰霜之刃 冰霜烈焰 冰霜亚龙 苍穹之光维鲁斯 苍穹之光薇恩 超级英雄 超武乾坤：电弧 冲击之刃劫 冲浪高手 创世魔神 单身贵族 刀锋女王 德莱德莱 抵抗军战姬 斗战胜佛 鳄霸 飞车暴走族 绯金鮫灵（可升级） 绯金魅影（可升级） 绯金丽刃（可升级） 绯金战斧（可升级） 风纪委员 钢铁意志 哥特女仆 光明骑士卡尔玛 光明骑士贾克斯 光明之锤杰斯 光耀之芒金克斯 光耀之刃蛮王 光耀之心发条 国王 黑暗骑士布兰德 黑曜石守护者 皇家守卫 极地女神 鲛妮座人 金牌主播 科学狂人 莲花之令刀妹 猎龙勇士薇恩 秘密特工 哞利斯塔 女警官 偶像歌手 熔火之心 烧烤女神 狮心 双城之战蔚 死亡绽放 探戈灵魂崔斯特 铁哥们儿奥拉夫 铁拳执事 铁血狙击手 兔宝宝提莫 兔宝宝菲兹 兔宝宝炸弹人 王牌舰长 五连摇滚键盘手 无情重炮 无畏号 西部牛仔女枪 西部牛仔亚索 逍遥赌侠 邪恶女巫 腥红之月凯南 腥红之月 鬼武者 银色之牙";
        System.out.println(string.substring(0,200));
    }

    static String getGames(){
        String body = HttpRequest.get("https://www.taoshouyou.com/com/game/gamelist?_=1709973037969").execute().body();
        return body;
    }

    /**
     * 此方法是登录方法，操作下架之前 要先登录
     *
     * @return
     */
    private static String login(SalePartner salePartner) {
        String loginUrl = "https://passport.taoshouyou.com/api/user/login";
        String userName = salePartner.getSaleKey();
        String picVerifyCode = "";
        String password = salePartner.getOther();

        List<HttpCookie> cookies = HttpRequest.post(loginUrl)
                .form("userName", userName)
                .form("picVerifyCode", picVerifyCode)
                .form("password", password)
                .execute().getCookies();
        StringBuilder cookieStr = new StringBuilder();
        for (HttpCookie cookie : cookies) {
            cookieStr.append(cookie.getName()).append("=").append(cookie.getValue()).append("; ");
        }
        // 去掉最后一个分号和空格
        if (cookieStr.length() > 0) {
            cookieStr.setLength(cookieStr.length() - 2);
        }
        return cookieStr.toString();
    }


    public static File convert(byte[] byteArray) throws IOException {
        File file = File.createTempFile("kankantemp", ".jpg");
//        imgUrl = file.getPath();
        Path path = Paths.get(file.getAbsolutePath());
        try (FileOutputStream fos = new FileOutputStream(file)) {
            fos.write(byteArray);
        }catch (Exception e){

        }
        return file;
    }

    private static String getAttr(String token){

        String attrUrl = "https://www.taoshouyou.com/user/sell-trade-game-account";

        Map<String,String> params = new HashMap<>();
        params.put("gameid","12170");
        params.put("goodsid","1");
        params.put("sellmodeid","1");
        params.put("clientid","30");
        params.put("isquick","0");

        Map<String,String> header = new HashMap<>();
        header.put("cookie",token);
//        header.put("cookie","$first_referrer=%u53D6%u503C%u5F02%u5E38; $first_referrer_host=undefined; $first_browser_language=zh-CN; $first_visit_time=1710298406171; $first_referrer=%u53D6%u503C%u5F02%u5E38; $first_referrer_host=undefined; $first_browser_language=zh-CN; $first_visit_time=1713493650643; $first_referrer=%u53D6%u503C%u5F02%u5E38; $first_referrer_host=undefined; $first_browser_language=zh-CN; TSYUUID=416a8cf9-0f92-4445-bbe7-5c9e27b1840a; Hm_lvt_3479dfbef7091d5aa569ec56e13113df=1713176033; Hm_lvt_417fdf811fee757b9b1f949949acba5c=1713176033; login_info=%7B%22name%22%3A%2218093522409%22%2C%22pwd%22%3A%22Aa120120..%22%2C%22type%22%3A1%7D; tsyguestid=tsyguest_012E92A0A19C; PHPSESSID=28bb7a38123d2f69ba733b1ac33a1166; Hm_lpvt_3479dfbef7091d5aa569ec56e13113df=1713493620; $first_visit_time=1713493620465; Hm_lpvt_417fdf811fee757b9b1f949949acba5c=1713493650");

        String s = HttpUtil.doGet(attrUrl, params, header);
        Element body = Jsoup.parse(s).body();
//        System.out.println(body);
        Elements elementsByClass = body.getElementsByClass("gb-checkbox-wrap clearfix js-gb-checkbox-wrap js-gb-checkbox-id");
        Elements elements = elementsByClass.select("[data-title]");
        for (Element element : elements) {
            String attr = element.attr("data-title");
            System.out.println(attr);
            if (Objects.equals(attr,"传说皮肤：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
            if (Objects.equals(attr,"史诗皮肤：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
            if (Objects.equals(attr,"满命角色：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
            if (Objects.equals(attr,"皮肤数量：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
            if (Objects.equals(attr,"英雄数量：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
            if (Objects.equals(attr,"帐号来源：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }

            if (Objects.equals(attr,"帐号来源：")){
                Elements span = element.getElementsByTag("span");
                System.out.println(span.text());
            }
        }

        return null;
    }
    private Map<String, Object> params(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner sa) {
        goodsInfoAndAttrValueDto.setAccountNumber(String.valueOf(System.currentTimeMillis()).substring(3));

        Map<String, Object> params = new TreeMap<>();
        params.put("price",goodsInfoAndAttrValueDto.getPrice().toPlainString());//价格
        params.put("belongstoserviceareaname","");
        params.put("highprice","");
        params.put("lowprice","");
        params.put("name",goodsInfoAndAttrValueDto.getTitle().length()>30?goodsInfoAndAttrValueDto.getTitle().substring(0,29):goodsInfoAndAttrValueDto.getTitle());//标题
        params.put("isquick","0");//是否快速发布
        params.put("goodsid","1");//
        params.put("sellmodeid","1");//出售方式  寄售
        params.put("tradeid","");
        params.put("isbindcertificate","");
        params.put("isbindmobile","");
        params.put("isbindemail","");
        params.put("resell_id","");
        params.put("resell_source","");
        params.put("tradelogid","");
        params.put("isAdult","3");//防尘迷
        params.put("insurance_type","0");//包赔  不选是0
        params.put("mobile",sa.getSaleKey());//交易通知手机
        params.put("qq",sa.getSaleKey());//交易通知QQ
        params.put("recommenduserid","");

        //自动匹配属性
        String substring = sa.getSaleName().substring(sa.getSaleName().indexOf("_")+1);
        InterAttr interAttr = interAttrMapper.selectInterAttrByConfig(substring, goodsInfoAndAttrValueDto.getGameId());
        params.put("gameid",interAttr.getInterGameId());

        if(goodsInfoAndAttrValueDto.getGameName().equals("王者荣耀")){
            params.put("gameid","2256");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_5713",goodsInfoAndAttrValueDto.getTitle().length()>200?goodsInfoAndAttrValueDto.getTitle().substring(0,199):goodsInfoAndAttrValueDto.getTitle());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("和平精英")){
            params.put("gameid","6270");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_15304", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF12())?goodsInfoAndAttrValueDto.getF12():"0");
            params.put("gameattr_15310", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF9())?goodsInfoAndAttrValueDto.getF9():"0");
            params.put("gameattr_15312", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF11())?goodsInfoAndAttrValueDto.getF11():"0");
            params.put("gameattr_9175", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF8())?goodsInfoAndAttrValueDto.getF8():"0");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF1())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF1());
                String[] strings = "AUG妙趣可丽 AUG星之彼岸 AKM星际浪客 AKM甜心宝贝 AKM炫紫旋律 AKM梦之光华 AKM百合蜜语 AWM橘柚倾心 AWM焰龙焚天 AWM花间之火 AWM平天焚空 AKM盖世英雄 DP28扶摇飞仙 DP28枪炮玫瑰 DP28幻梦音符 DP28暗夜鎏金 GROZA香水柠檬 GROZA旋转彩虹 GROZA焦糖拿铁 Kar98K暗翼战神 Kar98K绿意幻情 Kar98K伏魔团 Kar98K圣光天使 MG3洛神天依 MG3炙焰牛王 M24暗星紫秘 M24星之信仰 M24翩跹演武 M416五爪金龙 M416心之恋语 M416风花雪月 M416暖熊萌萌 M416至情至圣 M762甜心娃娃 M762激战未来 M762甜蜜誓约 M762冷魅冰骑 M762苔丝玫瑰 M249彩虹甜喵 M249古战神甲 M249蓝莓炮弹 M16A4葫芦兄弟 M16A4垂柳戏鸭 Mini14龙虾霸霸 Mini14荧光虫舞 Mini14绚金瑰梦 MK20H海螺星光 SKS诡面斩 SKS碧影闪光 SLR暗夜玫瑰 S12K海渊国主 SCARL天蓬元帅 SCARL纯梦嫁纱 SCARL桃夭倾城 SCARL机甲封神 SCARL童趣迷兔 SCARL梦幻火箭 SCARL青春物语 SCARL甜梦小狐 UZI绮梦青鸾 UZI筑梦精灵 UMP45启明星 UMP45相思残雪 UMP45雪国精灵 UMP45恐龙拽拽 UMP45玉魂晶魄 VSS烈焰拳霸 Vector红伞翩翩 Vector环太平洋 Vector灵感创作师 野牛流星咚咚 汤姆逊怪笑疯兔 汤姆逊荒漠赏金 汤姆逊冰川粉黛 平底锅林间仙鹿 平底锅仲夏莫吉托 UZI畅跳缤纷 DP28金蝉行者 SPAS12音爆索尼克 野牛青空秋雨 P90甜蜜草莓 M249绒雪飘舞 SCARL镭射皇者 爆炸猎弓雪梅暗香 M417第五大道 M416全功率超战 Vector飒粉甜心".split(" ");
                String string = "";
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : strings){
                        if(gameAttribute1.getFieldName().replace("-","").contains(s)){
                            string+=","+s;
                        }
                    }
                }
                if(StringUtils.isNotEmpty(string)){
                    params.put("gameattr_12054",string.substring(1));
                }else {
                    params.put("gameattr_12054","无");
                }
            }else {
                params.put("gameattr_12054","无");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF5())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF5());
                String[] strings = "洛天依 向日葵 诡面斩 木乃伊 启明星 闪光银龙 烈焰拳霸 狩月元帅 旋转彩虹 金风银杏 黄伞悠悠 暗翼战神 深海曼妙 土曜战麒 未来战士 暖熊萌萌 碧穹智者 霁雪冰心 彗云及圣 霞光圣骑 冷魅冰骑 寒光使者 天之羽翼 酣梦娃娃 翡翠骑士 甜蜜誓约 琉璃脉冲 纯珍童话 心之回忆 挚爱序曲 海螺星光 幻情紫藤 薄荷物语 甜心娃娃 骨龙祭渊 枪炮玫瑰 绿野柔风 童趣迷兔 金风玉露 紫电风暴 赤焰黑爵 暗夜鎏金 垂柳戏鸭 碧影闪光 桀骜红莲 蝶舞蔷薇 相思残雪 星之彼岸 锦绣火鲤 新星烈龙 天启纪元 霞光骑士 甜蜜草莓 花影阑珊 梦幻火箭 闪耀迪迦 荒漠赏金 桃夭倾城 冰川粉黛 冰川幽秘 冰川红玫 彩虹甜喵 霓裳武神 焦糖拿铁 暗星紫秘 精灵娃娃 流星咚咚 绚金瑰梦 青葱仙萝 蓝莓炮弹 红伞翩翩 黑伞漫漫 海渊国主 齐天大圣 沙场疾风 俏雪含霜 吟月归客 林间仙鹿 彩虹鹿灵 山涧鹿灵 暗夜玫瑰 炙焰赤龙 潮汐统领 花间之火 扶摇飞仙 心之恋语 极致幻想 星空之魅 慧云及圣 天禅智恒 古堡领主 金属狂野 静灵氛围 智能音符 缤纷油彩 放客神游 华贵君王 星之信仰 精灵迷巫 蝶舞迷情 雪国幻梦 守护骑士 银河战甲 金曜白虎 木曜青龙 水曜玄武 火曜朱雀 土曜战麟 深渊皇后 荒野猎神 粉色回忆 南瓜骑士 数码大师 幻影战神 极限特训 快乐主宰 独舞天鹅 海盐物语 怪诞乔克 岚岚物语 百合蜜语 恐龙拽拽 紫鸢之舞 星云玉兔 雪国梦幻 折纸暴龙 缤纷油菜 浪漫波比 黄金大亨 天使彩虹糖 灵感创作师 王牌四分卫 幻彩马卡龙 麻辣鲜香锅 甜心巧克力 宝贝奶油派 星际漫游者 赛罗闪耀型 星夜魔法师 复仇流浪者 专家巡查员 深海小丑鱼 奇异狩猎者 闪耀奥特曼 101粉红套装 至尊金龙套装 黑曜金尊套装 2号机款机体服 PEL轰鸣竞梦者 初号机款机体服 女娲后裔赵灵儿 蜀山剑侠李逍遥".split(" ");
                String string = "";
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : strings){
                        if(gameAttribute1.getFieldName().replace("-","").equals(s)){
                            string+=","+s;
                        }
                    }
                }
                if(StringUtils.isNotEmpty(string)){
                    params.put("gameattr_12052",string.substring(1));
                }else {
                    params.put("gameattr_12052","无");
                }
            }else {
                params.put("gameattr_12052","无");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF5())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF5());
                String[] strings = "九霄 爱神 灵绣 罗小黑 隐空刺 影双刃 SS1特训 SS2特训 SS3特训 SS4特训 SS5特训 SS6特训 SS7特训 SS8特训 SS9特训 SS10特训 SS11特训 SS12特训 SS13特训 SS14特训 SS15特训 SS16特训 SS17特训 夏雨游龙 河畔雨呱 草莓生巧 冥河战士 炙焰牛王 仓鼠灰灰 胖达团团 胖达圆圆 银河圣歌 闪耀星光 淡雅花蕊 奇迹天团 星光纪元 玲珑飞花 维京奇缘 萌神柯基 爱崽白熊 花面小丑 狂徒小丑 黑色刀锋 战斗矩阵 滨海厨神 好奇恐龙 奇趣企鹅 威严将相 圣殿骑士 裁决冥王 赛博空间 五号元素 云丝凤蟒 新侠客行 夏日音浪 人鱼之吻 摇滚狂鲨 东方飞龙 智慧之神 众神之王 乘风破浪 神秘黑猫 软萌银虎 大橘为重 顽皮玉兔 红酒骑士 舞夜骑士 机械英豪 驯鹿叮当 暗夜契约 纯白誓言 白虎圣者 青龙圣者 玄武圣者 朱雀圣者 丝绸行者 神秘舞者 玫瑰恋情 本愿之火 辉星之火 浪客战士 静谧青瓷 娴静芝兰 深山诡影 萌主吾皇 薄荷蓝莓 抹茶蜜豆 怪兽之王 韶华初心 梦之呓语 浪漫樱花 冰爽海盐 滑板小狐 山经魅狐 骁骑迪迦 暗黑裁决 暗影爵士 炫光贝贝 超能拳王 击剑大师 星河入梦 梦起落英 梨园星光 快乐星愿 星梦畅游 微雨春柳 暖风夏荷 鹤发童颜 蝎王蛇后 蔷薇魔法师 云纹魔法士 潮萌小黄鸭 清香五月粽 软嫩糖心蛋 白月香洋装 风华少年志 不夜海上花 破蛋小黄鸡 沙漠守护者 暴走罗小黑 激萌罗小黑 机械冒险家 机械征服者 安第斯皇冠 荷鲁斯之眼 粉甜马卡龙 蓝甜马卡龙 PEC最牛战神 神奈川冲浪里 诡谋托雷基亚 PEL摇滚竞梦者 PEL躁动竞梦者 动感兔斯基人偶服".split(" ");
                String string = "";
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : strings){
                        if(gameAttribute1.getFieldName().replace("-","").equals(s)){
                            string+=","+s;
                        }
                    }
                }
                if(StringUtils.isNotEmpty(string)){
                    params.put("gameattr_15299",string.substring(1));
                }else {
                    params.put("gameattr_15299","无");
                }
            }else {
                params.put("gameattr_15299","无");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF3())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF3());
                String[] strings = "阿狸红 诡面斩 马卡龙 伏魔团 甜心娃娃 机甲封神 纯梦嫁纱 闪耀银龙 庄周梦蝶 春暖花开 桃天倾城 冰川粉黛 绒雪飘舞 闪光银龙 霓虹街区 甜梦小狐 幻梦音符 冷魅冰骑 青春物语 焦糖拿铁 天之羽翼 绚金瑰梦 绿意幻情 红伞翩翩 齐天大圣 风花雪月 林间仙鹿 焰龙焚天 枪炮玫瑰 古战神甲 梦之光华 相思残雪 星之彼岸 绮梦青鸾 暗翼战神 终极赛罗 童趣迷兔 激战未来 锦绣火鲤 潮汐统领 花间之火 扶摇飞仙 心之恋语 四圣焕新 甜蜜誓约 古堡领主 神秘黑猫 深海曼妙 炫紫旋律 精灵迷巫 梦幻火箭 荧光虫舞 翩跹演武 太空嘟嘟 歌者泠鸢 苔丝玫瑰 星夜魔法师 王牌四分卫 夏日绵绵冰 灵感创作师 PEL轰鸣竞梦者 暗夜鎏金降落伞 至尊龙雀飞行服 荒漠赏金飞行翼 星之信仰飞行翼 繁花小夜曲飞行翼".split(" ");
                String string = "";
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : strings){
                        if(gameAttribute1.getFieldName().contains(s)){
                            string+=","+s;
                        }
                    }
                }
                if(StringUtils.isNotEmpty(string)){
                    params.put("gameattr_12051",string.substring(1));
                }else {
                    params.put("gameattr_12051","无");
                }
            }else {
                params.put("gameattr_12051","无");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF2());
                String[] strings = "僚机 萌兔起飞 南瓜骑士 焰龙咆哮 金龙耀世 海龙奔腾 萌喵橘座 灵鼠银迹 鬼马风驰 极速兔兔车 俏皮小熊猫 软萌羊咩咩 拉轰鸭鸭车 空客H135粉 空客H135蓝 合金龙骨(蓝) 合金龙骨(绿) 合金龙骨(红) 阿斯顿马丁DBS(金) 阿斯顿马丁DBS(红) 阿斯顿马丁DBS(绿) 阿斯顿马丁DBX(金) 阿斯顿马丁DBX(橙) 阿斯顿马丁DBX(蓝) 迈凯伦570S(镭射紫) 迈凯伦570S(炫冰蓝) 迈凯伦570S(旭日黄) 迈凯伦570S(天际蓝) 双人摩托_梦幻火箭 双人摩托_双刃魅影（绿） 双人摩托_双刃魅影（红） 双人摩托_双刃魅影（金） 快艇_自由的鲸 快艇_塞莎KL27(鲸之蓝) 快艇_塞莎KL27(霓虹粉) 快艇_塞莎KL27(深潜蓝) 路特斯ELETRE(冰川蓝） 路特斯ELETRE(电光紫） 路特斯ELETRE(花绽灰） 路特斯EVJIA(电光紫） 路特斯EVJIA(星际黄） 特斯拉Model3（奇幻紫） 特斯拉Model3（珍珠白） 特斯拉Model3（冷光银） 特斯拉ModelX（奇幻紫） 特斯拉ModelX（冷光银） 特斯拉ModelX（珍珠白） 特斯拉Roadster(尊享铂) 特斯拉Roadster(沁心粉） 特斯拉Roadster(水滴蓝） 特斯拉Cybertruck(镭光铂） 特斯拉Cybertruck(荒芜蓝） 特斯拉Cybertruck(极昼黑) 玛莎拉蒂Ghibli(金） 玛莎拉蒂Ghibli(蓝) 玛莎拉蒂Ghibli(粉) 玛莎拉蒂MC20(幻星粉） 玛莎拉蒂MC20(星石白) 玛莎拉蒂Grecale(幻星粉) 玛莎拉蒂Grecale(薄荷绿) 玛莎拉蒂Quattroporte（幻星粉） 玛莎拉蒂Quattroporte（夜幕蓝） 兰博基尼URUS（明艳黄） 兰博基尼URUS(炫光金） 兰博基尼URUS(尊享铂） 兰博基尼Estoque(炫光金） 兰博基尼Estoque(尊享铂) 兰博基尼Estoque(银翼灰) 兰博基尼AventadorSVJ(炫光金） 兰博基尼AventadorSVJ(尊享铂) 兰博基尼AventadorSVJ（翡翠绿） 乔治巴顿战车（乳石白）".split(" ");
                String string = "";
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : strings){
                        if(gameAttribute1.getFieldName().contains(s)){
                            string+=","+s;
                        }
                    }
                }
                if(StringUtils.isNotEmpty(string)){
                    params.put("gameattr_12050",string.substring(1));
                }else {
                    params.put("gameattr_12050","无");
                }
            }else {
                params.put("gameattr_12050","无");
            }
            params.put("gameattr_8555",goodsInfoAndAttrValueDto.getTitle().substring(10));
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("穿越火线")){
            params.put("gameid","7921");
            params.put("clientid","241");
            String qufu = "[{\"id\":6826056,\"name\":\"安徽一区\"},{\"id\":6826057,\"name\":\"福建一区\"},{\"id\":6826058,\"name\":\"广东一区\"},{\"id\":6826059,\"name\":\"广东二区\"},{\"id\":6826060,\"name\":\"广东三区\"},{\"id\":6826061,\"name\":\"广东四区\"},{\"id\":6826062,\"name\":\"广西一区\"},{\"id\":6826063,\"name\":\"湖北一区\"},{\"id\":6826064,\"name\":\"湖北二区\"},{\"id\":6826065,\"name\":\"湖南一区\"},{\"id\":6826066,\"name\":\"湖南二区\"},{\"id\":6826067,\"name\":\"江苏一区\"},{\"id\":6826068,\"name\":\"江苏二区\"},{\"id\":6826069,\"name\":\"江西一区\"},{\"id\":6826070,\"name\":\"南方大区\"},{\"id\":6826071,\"name\":\"陕西一区\"},{\"id\":6826072,\"name\":\"上海一区\"},{\"id\":6826073,\"name\":\"上海二区\"},{\"id\":6826074,\"name\":\"四川一区\"},{\"id\":6826075,\"name\":\"四川二区\"},{\"id\":6826076,\"name\":\"云南一区\"},{\"id\":6826077,\"name\":\"浙江一区\"},{\"id\":6826078,\"name\":\"浙江二区\"},{\"id\":6826079,\"name\":\"重庆一区\"},{\"id\":6826080,\"name\":\"体验服\"},{\"id\":6826081,\"name\":\"北方大区\"},{\"id\":6826082,\"name\":\"北京一区\"},{\"id\":6826083,\"name\":\"北京二区\"},{\"id\":6826084,\"name\":\"北京三区\"},{\"id\":6826085,\"name\":\"北京四区\"},{\"id\":6826086,\"name\":\"河北一区\"},{\"id\":6826087,\"name\":\"河南一区\"},{\"id\":6826088,\"name\":\"河南二区\"},{\"id\":6826089,\"name\":\"黑龙江区\"},{\"id\":6826090,\"name\":\"吉林一区\"},{\"id\":6826091,\"name\":\"辽宁一区\"},{\"id\":6826092,\"name\":\"辽宁二区\"},{\"id\":6826093,\"name\":\"辽宁三区\"},{\"id\":6826094,\"name\":\"山东一区\"},{\"id\":6826095,\"name\":\"山东二区\"},{\"id\":6826096,\"name\":\"山西一区\"},{\"id\":6826097,\"name\":\"教育网专区\"},{\"id\":6826098,\"name\":\"移动专区\"}]\n";
            JSONArray jsonArray = JSONArray.parseArray(qufu);
            for(Object o : jsonArray){
                if(goodsInfoAndAttrValueDto.getServerName().equals(JSONObject.parseObject(o.toString()).getString("name"))){
                    params.put("belongstoserviceareaid",JSONObject.parseObject(o.toString()).getString("id"));
                    break;
                }
            }
            params.put("clientattr_643",goodsInfoAndAttrValueDto.getAccountNumber());//账号
            params.put("clientattr_644",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            params.put("gameattr_14997","自己注册");
            params.put("gameattr_9609","1");
            params.put("gameattr_15027", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF8())?goodsInfoAndAttrValueDto.getF8():"0");
            params.put("gameattr_13504","1");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF5())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF5()));
                params.put("gameattr_13503", gameAttribute1.getFieldName());
            }else {
                params.put("gameattr_13503", "士兵");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF8())){
                if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=1&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=5){
                    params.put("gameattr_9611","1一5V");
                }else if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=6&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=10){
                    params.put("gameattr_9611","6一10V");
                }else if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=11&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=20){
                    params.put("gameattr_9611","11一20V");
                }else if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=21&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=30){
                    params.put("gameattr_9611","20一30V");
                }else if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=31&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=50){
                    params.put("gameattr_9611","30一50V");
                }else if(Integer.parseInt(goodsInfoAndAttrValueDto.getF8())>=51&&Integer.parseInt(goodsInfoAndAttrValueDto.getF8())<=70){
                    params.put("gameattr_9611","50一70V");
                }else {
                    params.put("gameattr_9611","70V以上");
                }
            }else {
                params.put("gameattr_9611","无英雄武器");
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF6())){
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF6()));
                if(gameAttribute1.getFieldName().equals("未定级")){
                    params.put("gameattr_9623","无");
                }else {
                    String[] string = "新锐 精英 专家 大师 宗师 枪王 枪王之王".split(" ");
                    for(String s : string){
                        if(gameAttribute1.getFieldName().replace("传奇","枪王").replace("荣耀枪王","枪王").equals(s)){
                            params.put("gameattr_9623",s);
                        }
                    }
                }
            }else {
                params.put("gameattr_9623","无");
            }
            String role = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF19())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF19());
                String[] string = "春 炫 瞳 樱 葵 零 悠 凌霄 魅影 蝴蝶 萝拉 迷迭香 猎狐者 灵狐者 潘多拉 审判者 传说女帝 月兔特工 荒漠琉璃 电竞教官云悠悠".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : string){
                        if(gameAttribute1.getFieldName().equals(s)){
                            role += ","+s;
                        }
                    }
                }
            }
            if(StringUtils.isEmpty(role)){
                role = ",无";
            }
            params.put("gameattr_15030",role.substring(1));
            String str = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF13())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF13());
                String[] string = "AWM_裁决 AWM_天龙 AK12_天启 AK47_雷暴 AK47_麒麟 AK47_无影 AK47_黑鲨 AK47火麒麟 AK47_黑武士 AN94_超新星 AK47_B_战神 AK47_机器迷城 Barrett灭 Barrett极光 Barrett雷霆 Barrett朱雀 CZ75死神 COP_堕天神 COP357_雷霆 Glock18_武圣 HK417_朱雀 M200_幻神 M4A1_黑龙 M4A1_雷神 M4A1_雷霆 M4A1_猎神 M4A1_龙血 M4A1_千变 M4A1_青龙 M4A1_死神 M4A1_武圣 M4A1_夜魔 MG36黑骑士 M4A1_堕天神 M4A1_黑骑士 M4A1_玫瑰精 M200_竞技荣光 M4A1一雷霆王者 QBZ03湮灭 QBZ95_幻兽 RPK_盘龙 scar_白虎 USP_雷暴 98K_星神 9A91_烈火 09式狙天神 暗月传说 金色蔷薇 传说暗裔 传说光耀 传说梦魇 竞技荣光 王者幻神 传说圣灵 雷神世冠 沙鹰_幻兽 沙鹰_天神 沙鹰_修罗 汤姆逊烈龙 火麒麟世冠 柯尔特世冠 加特林_炼狱 双持斯泰尔天使 柯尔特_竞技荣光".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : string){
                        if(gameAttribute1.getFieldName().replace("-","_").contains(s)){
                            str+=","+s;
                        }
                    }
                }
            }
            if(StringUtils.isEmpty(str)){
                str = ",AK47_麒麟";
            }
            params.put("gameattr_15029",str.substring(1));
            params.put("gameattr_9707",goodsInfoAndAttrValueDto.getGroupName()+goodsInfoAndAttrValueDto.getServerName()+params.get("gameattr_9611"));
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("枪战王者")){
            params.put("gameid","2660");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_15325","无");
            params.put("gameattr_15671","无");
            params.put("gameattr_9143","无");
            params.put("gameattr_6210",goodsInfoAndAttrValueDto.getTitle().length()>200?goodsInfoAndAttrValueDto.getTitle().substring(0,199):goodsInfoAndAttrValueDto.getTitle());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("英雄联盟")){
            params.put("gameid","7897");
            params.put("clientid","241");
            String qufu = "[{\"id\":6825756,\"name\":\"艾欧尼亚\"},{\"id\":6825757,\"name\":\"祖安\"},{\"id\":6825758,\"name\":\"暗影岛\"},{\"id\":6825759,\"name\":\"班德尔城\"},{\"id\":6825760,\"name\":\"裁决之地\"},{\"id\":6825761,\"name\":\"钢铁烈阳\"},{\"id\":6825762,\"name\":\"黑色玫瑰\"},{\"id\":6825763,\"name\":\"教育网专区\"},{\"id\":6825764,\"name\":\"巨神峰\"},{\"id\":6825765,\"name\":\"均衡教派\"},{\"id\":6825766,\"name\":\"卡拉曼达\"},{\"id\":6825767,\"name\":\"雷瑟守备\"},{\"id\":6825768,\"name\":\"诺克萨斯\"},{\"id\":6825769,\"name\":\"皮城警备\"},{\"id\":6825770,\"name\":\"皮尔特沃夫\"},{\"id\":6825771,\"name\":\"守望之海\"},{\"id\":6825772,\"name\":\"水晶之痕\"},{\"id\":6825773,\"name\":\"影流\"},{\"id\":6825774,\"name\":\"战争学院\"},{\"id\":6825775,\"name\":\"征服之海\"},{\"id\":6825776,\"name\":\"比尔吉沃特\"},{\"id\":6825777,\"name\":\"德玛西亚\"},{\"id\":6825778,\"name\":\"弗雷尔卓德\"},{\"id\":6825779,\"name\":\"无畏先锋\"},{\"id\":6825780,\"name\":\"恕瑞玛\"},{\"id\":6825781,\"name\":\"扭曲丛林\"},{\"id\":6825782,\"name\":\"巨龙之巢\"},{\"id\":6825783,\"name\":\"试炼之地\"},{\"id\":6825784,\"name\":\"男爵领域\"},{\"id\":6825785,\"name\":\"峡谷之巅\"}]";
            JSONArray jsonArray = JSONArray.parseArray(qufu);
            for(Object o : jsonArray){
                if(goodsInfoAndAttrValueDto.getServerName().equals(JSONObject.parseObject(o.toString()).getString("name"))){
                    params.put("belongstoserviceareaid",JSONObject.parseObject(o.toString()).getString("id"));
                    break;
                }
            }
            params.put("clientattr_643",goodsInfoAndAttrValueDto.getAccountNumber());//账号
            params.put("clientattr_644",StringUtils.isEmpty(goodsInfoAndAttrValueDto.getAccountPassword())?String.valueOf(System.currentTimeMillis()):goodsInfoAndAttrValueDto.getAccountPassword());//密马
            params.put("gameattr_9642","当前赛季无");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())){
                String[] string = "当前赛季无 英勇黄铜V 英勇黄铜IV 英勇黄铜III 英勇黄铜II 英勇黄铜I 不屈白银V 不屈白银IV 不屈白银III 不屈白银II 不屈白银I 荣耀黄金V 荣耀黄金IV 荣耀黄金III 荣耀黄金II 荣耀黄金I 华贵铂金V 华贵铂金IV 华贵铂金III 华贵铂金II 华贵铂金I 璀璨钻石V 璀璨钻石IV 璀璨钻石III 璀璨钻石II 璀璨钻石I 超凡大师 最强王者".split(" ");
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF2()));
                for(String s :string) {
                    if (s.contains(gameAttribute1.getFieldName().replace("未定级","当前赛季无").replace("黑铁","当前赛季无").replace("青铜","黄铜"))) {
                        params.put("gameattr_9561",s);
                        break;
                    }
                }
            }else {
                params.put("gameattr_9561","当前赛季无");
            }
            params.put("gameattr_10944","是");
            params.put("gameattr_9560", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF4())?goodsInfoAndAttrValueDto.getF4():"0");
            params.put("gameattr_9554", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF3())?goodsInfoAndAttrValueDto.getF3():"0");
            params.put("gameattr_14998","自己注册");
            params.put("gameattr_10943", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF31())?goodsInfoAndAttrValueDto.getF31():"10");
            params.put("gameattr_9711",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());

        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("火影忍者")){
            params.put("gameid","2379");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid","1776240");
            params.put("gameattr_15336","1");
            params.put("gameattr_9158","1");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF3())){
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF3()));
                params.put("gameattr_9160",gameAttribute1.getFieldName().replace("无","1").replace("V",""));
            }else {
                params.put("gameattr_9160","1");
            }
            params.put("gameattr_15333", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF1())?goodsInfoAndAttrValueDto.getF1():"0");
            params.put("gameattr_15334", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())?goodsInfoAndAttrValueDto.getF2():"0");

            String sren = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF7())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF7());
                String[] string = "纲手 大蛇丸 八门凯 猿飞日斩 波风水门 千手扉间 千手柱间 忍界带土 无(二代目) 半藏(秽土) 艾(三代目) 佩恩(天道) 艾(四代目) 长门(秽土) 纲手(百豪) 神秘面具男 九喇嘛鸣人 大筒木金氏 木叶创立斑 自来也 自来也(舞杰) 自来也(仙人) 药师兜(仙人) 佩恩天道(超) 罗砂(四代目） 迈特凯(死门) 大野木(三代目) 宇智波鼬(秽土) 千手柱间(秽土) 猿飞日斩(秽土) 波风水门(秽土) 千手扉间(秽土) 金角银角(秽土) 宇智波斑 宇智波斑(秽土) 宇智波斑(白面具) 宇智波鼬(须佐能乎) 鬼灯幻月(二代目) 大蛇丸(百战不灭) 三代目风影（秽土） 大野木（忍界大战）\n".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : string){
                        if(gameAttribute1.getFieldName().replace("-","").equals(s)){
                            sren += ","+s;
                        }
                    }
                }
            }
            if(StringUtils.isEmpty(sren)){
                sren = ",无";
            }
            params.put("gameattr_14706",sren.substring(1));
            params.put("gameattr_5882",goodsInfoAndAttrValueDto.getTitle().length()>30?goodsInfoAndAttrValueDto.getTitle().substring(0,29):goodsInfoAndAttrValueDto.getTitle());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("原神")){
            params.put("gameid","14917");
            String regional = goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("游戏官方")){
                params.put("clientid","3");
                params.put("clientattr_15",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_16",goodsInfoAndAttrValueDto.getAccountPassword());//密马
                params.put("belongstoserviceareaid","9808659");
            }else {
                params.put("clientid","88");
                params.put("clientattr_350",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_351",goodsInfoAndAttrValueDto.getAccountPassword());//密马
                params.put("belongstoserviceareaid","9792674");
            }

            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF2()));
                if(gameAttribute1.getFieldName().equals("邮箱已注销")||gameAttribute1.getFieldName().equals("不送邮箱/死邮")){
                    params.put("gameattr_15976", "死邮(不可换绑)");
                }else {
                    params.put("gameattr_15976", "活邮(可换绑)");
                }
            }else {
                params.put("gameattr_15976", "死邮(不可换绑)");
            }
            params.put("gameattr_15973", "0");
            params.put("gameattr_15974", "0");
            params.put("gameattr_15975", "0");
            params.put("gameattr_15280", "0");
            params.put("gameattr_14702", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF7())?goodsInfoAndAttrValueDto.getF7():"0");
            params.put("gameattr_15285", "0");
            params.put("gameattr_15286", "0");

            String gameattr_14699 = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF11())) {
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF11());
                String[] wxjs = "琴 夜兰 申鹤 宵宫 优莅 胡桃 刻晴 莫娜 七七 甘雨 可莉 温迪 钟离 赛诺 妮露 白术 林尼 闲云 纳西妲 提纳里 阿贝多 迪卢克 迪希雅 流浪者 芙宁娜 娜维娅 达达利亚 艾尔海森 八重神子 神里绫人 荒泷一斗 雷电将军 神里绫华 枫原万叶 那维莱特 莱欧斯利 护法夜叉魈 珊瑚宫心海 千织".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : wxjs){
                        if(gameAttribute1.getFieldName().contains(s)){
                            gameattr_14699+=","+s;
                        }
                    }
                }
            }
            if(StringUtils.isNotEmpty(gameattr_14699)){
                params.put("gameattr_14699", gameattr_14699.substring(1));
            }else {
                params.put("gameattr_14699", "无");
            }

            String gameattr_14700 = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF17())){
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF17());
                String [] wxwq = "息灾 若水 裁断 风鹰剑 和璞鸢 鹤鸣余音 不灭月华 斫峰之刃 磐岩结绿 无工之剑 贯虹之槊 护摩之杖 冬极白星 天空之翼 四风原典 天空之卷 天空之脊 狼的末路 天空之傲 天空之刃 尘世之锁 猎人之径 赤沙之杖 圣显之钥 千夜浮梦 裁叶萃光 苇海信标 碧落之珑 金流监督 雾切之回光 飞雷之弦振 赤角石溃杆 阿莫斯之弓 赤角石溃杵 薙草薙稻光 神乐之真意 万世流涌大典 静水流涌之辉 松籁响起之时 最初的大魔术 波乱月白经津 终末嗟叹之诗 苍古自由之誓 图莱杜拉的回忆 有乐御簾切".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : wxwq){
                        if(gameAttribute1.getFieldName().contains(s)){
                            gameattr_14700+=","+s;
                        }
                    }
                }
            }
            if(StringUtils.isNotEmpty(gameattr_14700)){
                params.put("gameattr_14700", gameattr_14700.substring(1));
            }else {
                params.put("gameattr_14700", "无");
            }

            String gameattr_15281 = "";
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF11())) {
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF11());
                String[] wxjs = "魈 琴 凝光 行秋 凯亚 安柏 丽莎 瑶瑶 北斗 香菱 雷泽 砂糖 重云 夜兰 刻晴 七七 五郎 云堇 莫娜 温迪 可莉 钟离 胡桃 甘雨 优菈 宵宫 米卡 托马 申鹤 白术 林尼 辛焱 烟绯 早柚 赛诺 卡维 柯莱 妮露 多莉 埃洛伊 绮良良 久岐忍 坎蒂丝 琳妮特 迪希雅 流浪者 提纳里 纳西妲 诺艾尔 班尼特 菲谢尔 迪卢克 迪奥娜 阿贝多 芭芭拉 坎迪斯 珐露珊 莱依拉 神里绫华 罗莎利亚 雷电将军 荒泷一斗 八重神子 神里绫人 罗莎莉亚 枫原万叶 九条裟罗 艾尔海森 达达利亚 鹿野院平藏 珊瑚宫心海".split(" ");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : wxjs){
                        if(gameAttribute1.getFieldName().contains(s)&&gameAttribute1.getFieldName().contains("满命")){
                            gameattr_15281+=","+s;
                        }
                    }
                }
            }
            if(StringUtils.isNotEmpty(gameattr_15281)){
                params.put("gameattr_15281", gameattr_15281.substring(1));
            }else {
                params.put("gameattr_15281", "无");
            }

            params.put("gameattr_11224",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("英雄联盟(手游)")){
            params.put("gameid","12170");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_16074","30");
            params.put("gameattr_12368",goodsInfoAndAttrValueDto.getSystemName());
            params.put("gameattr_10688", goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("永劫无间")){
            params.put("gameid","22764");
            params.put("clientid","241");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
            params.put("clientattr_643",goodsInfoAndAttrValueDto.getAccountNumber());//账号
            params.put("clientattr_644",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_14179","1");
            params.put("gameattr_14180","男");
            params.put("gameattr_14181","1");
            params.put("gameattr_14182",goodsInfoAndAttrValueDto.getTitle().length()>200?goodsInfoAndAttrValueDto.getTitle().substring(0,199):goodsInfoAndAttrValueDto.getTitle());
            if(goodsInfoAndAttrValueDto.getGroupName().contains("网易")) {
                params.put("gameattr_16422", "网易账号");
                params.put("gameattr_14184", "网易服务器");
            }else {
                params.put("gameattr_16422", "Steam账号");
                params.put("gameattr_14184", "Steam服务器");
            }
            params.put("gameattr_16416",goodsInfoAndAttrValueDto.getTitle().length()>200?goodsInfoAndAttrValueDto.getTitle().substring(0,199):goodsInfoAndAttrValueDto.getTitle());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("无畏契约")){
            params.put("gameid","32073");
            params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
            params.put("belongstoserviceareaid","10876216");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
            params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
            params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            params.put("gameattr_16100",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());//密马
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("永劫无间手游")){
            params.put("gameid","21753");
            params.put("belongstoserviceareaid","11052889");
//            params.put("insurance_type","365");
            params.put("clientattr_53",goodsInfoAndAttrValueDto.getAccountNumber());
            params.put("clientid",9);
            params.put("gameattr_16371","青铜");
            params.put("gameattr_16370", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF21())?goodsInfoAndAttrValueDto.getF21():"0");
            params.put("gameattr_16369", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF22())?goodsInfoAndAttrValueDto.getF22():"0");
            params.put("gameattr_16368","0");
            params.put("gameattr_13742",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("暗区突围")){
            params.put("gameid","27226");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
//            params.put("insurance_type",365);
            params.put("belongstoserviceareaid",0);
            params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());
            params.put("gameattr_15981",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("金铲铲之战")){
            params.put("gameid","22194");
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("belongstoserviceareaid",0);
            params.put("gameattr_16085","无");
            params.put("gameattr_16087","无");
            params.put("gameattr_16086","无");
            params.put("gameattr_14018",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("三角洲行动")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
            params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());
//            if(regional.equals("安卓QQ")){
//                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
//            } else if(regional.equals("安卓微信")){
//                params.put("clientid","29");
//            }else if(regional.equals("苹果QQ")){
//                params.put("clientid","28");
//            }else {
//                params.put("clientid","27");
//            }
            params.put("belongstoserviceareaid","0");
            params.put("gameattr_16500",goodsInfoAndAttrValueDto.getTitle().length()>200?goodsInfoAndAttrValueDto.getTitle().substring(0,199):goodsInfoAndAttrValueDto.getTitle());
//            if(goodsInfoAndAttrValueDto.getCarrierName().equals("QQ")){
//                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());
//            }
//            else {
//                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());
//            }
        }
        if(goodsInfoAndAttrValueDto.getGameName().equals("使命召唤手游")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                params.put("clientid","30");//安卓QQ 30  苹果QQ 28 安卓安卓微信29 苹果微信 27
                params.put("clientattr_123",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_124",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("安卓微信")){
                params.put("clientid","29");
                params.put("clientattr_119",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_120",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else if(regional.equals("苹果QQ")){
                params.put("clientid","28");
                params.put("clientattr_115",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_116",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }else {
                params.put("clientid","27");
                params.put("clientattr_111",goodsInfoAndAttrValueDto.getAccountNumber());//账号
                params.put("clientattr_112",goodsInfoAndAttrValueDto.getAccountPassword());//密马
            }
            params.put("gameattr_16010","青铜");
            params.put("belongstoserviceareaid",0);
            params.put("gameattr_9875",goodsInfoAndAttrValueDto.getDes().length()>190?goodsInfoAndAttrValueDto.getDes().substring(0,190):goodsInfoAndAttrValueDto.getDes());
        }

        //开始匹配单选属性
        builderRadioAttr(goodsInfoAndAttrValueDto, params, interAttr.getRadioAttr());
        //开始匹配多选属性
        builderCheckAttr(goodsInfoAndAttrValueDto, params, interAttr.getCheckAttr());
        //开始匹配输入框属性
        builderInputAttr(goodsInfoAndAttrValueDto, params, interAttr.getInputAttr());
        params.put("realNameAgainScreenshotUrl","");
        params.put("haspic","1");
//        String imgs = goodsInfoAndAttrValueDto.getTitleImg()+","+goodsInfoAndAttrValueDto.getImgUrls();
//        String[] imgss = imgs.split(",");
//        String images = "";
//        for(String s : imgss){
//            String s1 = upImg(s);
//            images += ","+s1;
//        }
//        if(StringUtils.isNotEmpty(images)) {
//            params.put("picurl", images.substring(1));
//        }
        String string = upImg(goodsInfoAndAttrValueDto.getTitleImg(), sa);
        GoodsInfoImg goodsInfoImg = new GoodsInfoImg();
        goodsInfoImg.setGoodsId(goodsInfoAndAttrValueDto.getId());
        goodsInfoImg.setType(Constants.STR_1);
        List<GoodsInfoImg> infoImgs = goodsInfoImgMapper.selectGoodsInfoImgList(goodsInfoImg);
        if (infoImgs.size() > 20) {
            infoImgs = infoImgs.subList(0, 19);
        }
        for (GoodsInfoImg goodsInfoImg1 : infoImgs) {
            String string1 = upImg(goodsInfoImg1.getImgUrl(), sa);
            if (StringUtils.isNotEmpty(string1)) {
                string += "," + upImg(goodsInfoImg1.getImgUrl(), sa);
            }
        }
        params.put("picurl", string);
        return params;
    }
    private void builderInputAttr(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto,Map<String, Object> params,String inputAttr) {

        Field[] declaredFields = goodsInfoAndAttrValueDto.getClass().getDeclaredFields();

        //========================开始匹配输入框=====================//
        JSONObject jsonObject1 = JSONObject.parseObject(inputAttr);
        String inputJson = jsonObject1.getString("inputJson");
        List<JSONObject> jsonObjects1 = JSONObject.parseArray(inputJson, JSONObject.class);
        GameAttrTemplate gameAttrTemplate = new GameAttrTemplate();
        gameAttrTemplate.setGameId(goodsInfoAndAttrValueDto.getGameId());
        gameAttrTemplate.setIsEnable("0");
        ArrayList types = new ArrayList<>();
        types.add("number");
        types.add("input");
        gameAttrTemplate.setFieldTypes(types);
        List<GameAttrTemplate> inputTemplates = gameAttrTemplateMapper.selectGameAttrTemplateList(gameAttrTemplate);
        List<JSONObject> defInputObjects = new ArrayList<>();
        defInputObjects.addAll(jsonObjects1);
        for (JSONObject object : jsonObjects1) {
            for (GameAttrTemplate inputTemplate : inputTemplates) {
                String aavName = inputTemplate.getAavName();
                if (Objects.equals(object.getString("aavName"), inputTemplate.getAavName())) {
                    defInputObjects.remove(object);
                    String aavNameInter = object.getString("interName");
                    String interId = object.getString("interId");
                    for (Field declaredField : declaredFields) {
                        String name = declaredField.getName();
                        if (Objects.equals(aavName, name)) {
                            declaredField.setAccessible(true);
                            Object o = null;
                            try {
                                o = declaredField.get(goodsInfoAndAttrValueDto);
                            } catch (IllegalAccessException e) {
                                throw new GlobalException("3属性参数错误，请匹配后重新配置");
                            }
                            if(Objects.isNull(o)){
                                String fieldType = inputTemplate.getFieldType();
                                if(fieldType.equals("number")){
                                    o = 0;
                                }
                            }
                            String oneValue = String.valueOf(o);
                            if (StringUtils.isNotEmpty(oneValue)) {
                                params.put("gameattr_"+object.getString("id"),oneValue);
                            }
                        }
                    }
                }

            }
        }
        //开始匹配默认值
        for (JSONObject object : defInputObjects) {
            Integer id = object.getInteger("id");
            String defaultValue = object.getString("defaultValue");
            if (StringUtils.isNotEmpty(defaultValue)) {
                params.put("gameattr_"+object.getString("id"),defaultValue);
            }
        }
    }

    private void builderCheckAttr(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto,Map<String, Object> params,String checkAttr) {
        /**
         * 1、先查询自定义中所有多选的字段
         * 2、再查该账号单选字段中的选项
         * 3、再去接口属性匹配表过滤
         */
        Field[] declaredFields = goodsInfoAndAttrValueDto.getClass().getDeclaredFields();
        JSONObject checkAttrJson = JSONObject.parseObject(checkAttr);
        String interCheckBoxReqs = checkAttrJson.getString("interCheckBoxReqs");
        List<JSONObject> checkJsonList = JSONObject.parseArray(interCheckBoxReqs, JSONObject.class);
        if (org.springframework.util.CollectionUtils.isEmpty(checkAttrJson)) {
            throw new GlobalException("接口多选属性暂未配置");
        }

        GameAttrTemplate gameAttrTemplate = new GameAttrTemplate();
        gameAttrTemplate.setGameId(goodsInfoAndAttrValueDto.getGameId());
        gameAttrTemplate.setIsEnable("0");
        List<String> types = new ArrayList<>();
        types.add("checkbox");
        types.add("boxradio");
        gameAttrTemplate.setFieldTypes(types);
        List<GameAttrTemplate> checkAttrTemplates = gameAttrTemplateMapper.selectGameAttrTemplateList(gameAttrTemplate);

        for (JSONObject object : checkJsonList) {
            List<String> list = new ArrayList<>();
            for (GameAttrTemplate attrTemplate : checkAttrTemplates) {

                String aavName = attrTemplate.getAavName();
                for (Field declaredField : declaredFields) {
                    String name = declaredField.getName();
                    if (aavName.equals(name)) {
                        declaredField.setAccessible(true);

                        Object o = null;
                        try {
                            o = declaredField.get(goodsInfoAndAttrValueDto);
                        } catch (IllegalAccessException e) {
                            throw new GlobalException("多选项" + attrTemplate.getFieldName() + "匹配错误");
                        }
                        String oneValue = String.valueOf(o);
                        String interCheckBoxReqsStr = object.getString("interCheckBoxReqs");
                        //开始匹配二级属性
                        List<JSONObject> jsonObjects2 = JSONObject.parseArray(interCheckBoxReqsStr, JSONObject.class);
                        /**
                         * 咱们的f字段  多选项都是用空格 隔开，用,号切割数组，跟匹配的数据匹配、匹配上说明此账号勾选的有此属性
                         */
                        for (JSONObject jsonObject1 : jsonObjects2) {
                            String[] split1 = oneValue.split(",");
                            String ydConfigId1 = jsonObject1.getString("YdConfigId");
                            if(StringUtils.isNotEmpty(ydConfigId1)) {
                                ydConfigId1 = ydConfigId1.replace(" ","");
                                for (String s : split1) {
                                    if (Objects.equals(s, ydConfigId1)) {
                                        String InterConfigName = jsonObject1.getString("InterConfigName");
                                        list.add(InterConfigName);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if(CollectionUtils.isNotEmpty(list)){
                params.put("gameattr_"+object.getString("id"),StringUtils.join(list,","));
            }else if(StringUtils.isNotEmpty(object.getString("flag"))?object.getString("flag").equals("true"):"1".equals("true")){
                params.put("gameattr_"+object.getString("id"),"无");
            }
        }
    }

    private void builderRadioAttr(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto,Map<String, Object> params,String radioAttr) {
        //========================开始匹配单选属性=====================//
        JSONObject jsonObject = JSONObject.parseObject(radioAttr);
        String interRadioReqs = jsonObject.getString("interRadioReqs");
        log.info(JSONObject.toJSONString(interRadioReqs));
        List<JSONObject> jsonObjects = JSONObject.parseArray(interRadioReqs, JSONObject.class);
        if (!org.springframework.util.CollectionUtils.isEmpty(jsonObjects)) {
            /**
             * 1、先查询自定义中所有单选的字段
             * 2、再查该账号单选字段中的选项
             * 3、再去接口属性匹配表过滤
             */
            GameAttrTemplate gameAttrTemplate = new GameAttrTemplate();
            gameAttrTemplate.setGameId(goodsInfoAndAttrValueDto.getGameId());
            gameAttrTemplate.setIsEnable("0");
            gameAttrTemplate.setFieldType("radio");
            List<GameAttrTemplate> gameAttrTemplates = gameAttrTemplateMapper.selectGameAttrTemplateList(gameAttrTemplate);
            Field[] declaredFields = goodsInfoAndAttrValueDto.getClass().getDeclaredFields();

            List<JSONObject> defObjects = new ArrayList<>();
            defObjects.addAll(jsonObjects);
            for (JSONObject object : jsonObjects) {
                List<String> list = new ArrayList<>();
                for (GameAttrTemplate attrTemplate : gameAttrTemplates) {
                    String aavName = attrTemplate.getAavName();
                    for (Field declaredField : declaredFields) {
                        String name = declaredField.getName();
                        if (aavName.equals(name)) {
                            //一级属性
                            //注意 YdConfigId 对应的是 f字段对应的 id
                            if (Objects.equals(object.getLong("YdConfigId"), attrTemplate.getId())) {
//                            String id = object.getString("id");
                                defObjects.remove(object);//如果匹配上，则去掉
                                String interRadioReqs1 = object.getString("interRadioReqs");
                                List<JSONObject> jsonObjects2 = JSONObject.parseArray(interRadioReqs1, JSONObject.class);
                                declaredField.setAccessible(true);
                                try {
                                    //获取选择的值 例如  实名中的可二次
                                    Object o = declaredField.get(goodsInfoAndAttrValueDto);
                                    String oneValue = String.valueOf(o);
                                    List<JSONObject> twoAttr = jsonObjects2.stream().filter(j -> StringUtils.isNotEmpty(j.getString("YdConfigId"))?j.getString("YdConfigId").contains(oneValue):"111".contains(oneValue)).collect(Collectors.toList());
                                    String defaultValue = object.getString("defaultValue");
                                    if (org.springframework.util.CollectionUtils.isEmpty(twoAttr)) {
                                        if (StringUtils.isNotEmpty(defaultValue)) {
                                            list.add(defaultValue);
                                        }
                                    }
                                    if (!org.springframework.util.CollectionUtils.isEmpty(twoAttr)) {
                                        JSONObject jsonObject2 = twoAttr.get(0);
                                        String InterConfigName = jsonObject2.getString("InterConfigName");
                                        list.add(InterConfigName);
                                    }
                                } catch (Exception e) {
                                    throw new GlobalException("单选项" + attrTemplate.getFieldName() + "匹配错误");
                                }
                            }
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list)){
                    params.put("gameattr_"+object.getString("id"),StringUtils.join(list,","));
                }
            }
            //开始匹配默认值
            for (JSONObject object : defObjects) {
                List<String> list = new ArrayList<>();
                interRadioReqs = object.getString("interRadioReqs");
                jsonObjects = JSONObject.parseArray(interRadioReqs, JSONObject.class);
                for (JSONObject objects : jsonObjects) {
                    if(StringUtils.isNotEmpty(objects.getString("defaultValue"))){
                        list.add(objects.getString("defaultValue"));
                    }
                }
                if(CollectionUtils.isNotEmpty(list)){
                    params.put("gameattr_"+object.getString("id"),StringUtils.join(list,","));
                }
            }
            //========================单选属性匹配结束=====================//
        }
    }


    private static String upImg(String imgs,SalePartner salePartner){

        System.out.println("开始：" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,DateUtils.getNowDate()));
        String uploadImg = "https://www.taoshouyou.com/com/webupload/upload?path=trades";
        System.out.println("结束：" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,DateUtils.getNowDate()));
        Map<String, Object> params= new HashMap<>();
        File file = null;
        try {
            URL url = new URL(imgs);
            BufferedImage image = ImageIO.read(url.openStream());
            byte[] bytes = ImgUntil.bufferedImageToByteArray(image);
            long srcSize = bytes.length;
            if (srcSize / 1024 > 5000) {
                bytes = ImgUntilYS.compressPicForScale(bytes, 3072l);
            } else {
                bytes = ImgUntilYS.compressPicForScale(bytes, 2048l);
            }
            file = convert(bytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
        params.put("file",file);
        try {
            String s = HttpRequest.post(uploadImg)
                    .form("file", file)
                    .header("Content-Type","multipart/form-data; boundary=<calculated when request is sent>")
                    .header("Content-Length","<calculated when request is sent>")
                    .header("Host","<calculated when request is sent>")
                    .header("cookie",login(salePartner))
                    .execute().body();
            String string = JSONObject.parseObject(s).getString("result");
            return string;
        }catch (Exception e){
            System.out.println(e);
        }
        return null;
    }
    @Override
    public AjaxResult addGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        Map<String, Object> resultMap = new HashMap<>();
        Map<String, Object> params = params(goodsInfoAndAttrValueDto, salePartner);
        log.info("淘手游添加接口请求参数={}", JSONObject.toJSONString(params));
        String saveUrl = "https://www.taoshouyou.com/user/sell-trade-game-account/save";
        Map<String,String> headers=new HashMap<>();
        headers.put("user-agent","ApiPOST Runtime +https://www.apipost.cn");
        headers.put("connection","keep-alive");
        headers.put("cookie",login(salePartner));
        headers.put("Content-Type","application/x-www-form-urlencoded");
        String result = HttpUtil.doPost1(saveUrl, params, headers);
        log.info("淘手游添加接口返回参数={}", result);
        System.out.println(MapUntils.unicodeToString(result));
        JSONObject resultJson = JSONObject.parseObject(result);
        //{"errcode":0,"msg":"成功","data":{"url":"\/user\/sell-trade-game-account\/ok?id=61467404"}}
        if (!"0".equals(resultJson.getString("errcode"))) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
            String data = resultJson.getString("data");
            String string = JSONObject.parseObject(data).getString("url");
            String outId = "";
            if(string.contains("=")){
                outId = string.split("=")[1];
            }
            resultMap.put("outId", outId);
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", result);
        resultMap.put("msg", resultJson.getString("data"));

        return AjaxResult.success(resultMap);
    }

    @Override
    public AjaxResult editGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        //直接改价
        Map<String, Object> resultMap = new HashMap<>();
        String attrUrl = "https://www.taoshouyou.com/user/sellertrade/ajaxupdata";
        Map<String, String> params = new HashMap<>();
        ArtRec artRecreq = new ArtRec();
        artRecreq.setConfig(salePartner.getId());
        artRecreq.setAccountId(goodsInfoAndAttrValueDto.getId());
        List<ArtRec> artRecs = artRecMapper.selectArtRecList(artRecreq);
        ArtRec artRec = artRecs.get(0);
        params.put("id", artRec.getOutid());
        params.put("updata", goodsInfoAndAttrValueDto.getPrice().toPlainString());
        params.put("type", "price");
        Map<String, String> header = new HashMap<>();
        header.put("cookie", login(salePartner));
        String result = HttpUtil.doGet(attrUrl, params, header);

        System.out.println(MapUntils.unicodeToString(result));
        JSONObject resultJson = JSONObject.parseObject(result);
        if (!"0".equals(resultJson.getString("errcode"))) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", result);
        resultMap.put("msg", resultJson.getString("data"));
        return AjaxResult.success(resultMap);
    }

    @Override
    public AjaxResult delGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        Map<String, Object> resultMap = new HashMap<>();
        //先下架
        offGoods(goodsInfoAndAttrValueDto.getOutId(),salePartner);
        String attrUrl = "https://www.taoshouyou.com/user/sellertrade/recovery";
        Map<String, String> params = new HashMap<>();
        params.put("tradeid", goodsInfoAndAttrValueDto.getOutId());
        Map<String, String> header = new HashMap<>();
        header.put("cookie", login(salePartner));
        String s = HttpUtil.doGet(attrUrl, params, header);
        log.info("淘手游删除接口请求参数={}", JSONObject.toJSONString(params));
        log.info("淘手游删除接口返回参数={}", MapUntils.unicodeToString(s));
        if (!"1".equals(s)) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", s);
        resultMap.put("msg", s);
        return AjaxResult.success(resultMap);
    }

    private List<GameAttribute> getGameAttributs(String ids) {
        if (StringUtils.isEmpty(ids)) {
            return new ArrayList<>();
        }
        return gameAttributeMapper.selectGameAttributeListByIds((Long[]) ConvertUtils.convert(ids.split(","),
                Long.class));
    }
    private String reIds(String allIds, String ids) {
        if (StringUtils.isNotEmpty(ids)) {
            if (StringUtils.isNotEmpty(allIds)) {
                allIds = allIds + "," + ids;
            } else {
                allIds = ids;
            }
        }
        return allIds;
    }

    public static String offGoods(String tradeid, SalePartner salePartner){
        String attrUrl = "https://www.taoshouyou.com/user/sellertrade/putoffsale";
        Map<String,String> params = new HashMap<>();
        params.put("tradeid",tradeid);
        params.put("reason","%E4%B8%8D%E6%83%B3%E5%8D%96%E4%BA%86");

        Map<String,String> header = new HashMap<>();
        header.put("cookie",login(salePartner));
        String s = HttpUtil.doGet(attrUrl, params, header);
        log.info("淘手游下架接口请求参数={}", JSONObject.toJSONString(params));
        log.info("淘手游下架接口返回参数={}", MapUntils.unicodeToString(s));
        return s;
    }
}
